/*
 * JVM_OpcodeInvoke.h
 *
 *  Created on: 04.01.2011
 *      Author: Tavin
 */

#ifndef JVM_OPCODEINVOKE_H_
#define JVM_OPCODEINVOKE_H_

#define RETURN_TYPE_NONE		0
#define RETURN_TYPE_REFERENCE	1
#define RETURN_TYPE_INT			2
#define RETURN_TYPE_FLOAT		3
#define RETURN_TYPE_LONG		4
#define RETURN_TYPE_DOUBLE		5



#endif /* JVM_OPCODEINVOKE_H_ */


uint16_t JVM_cmd_invokestatic();
uint16_t JVM_cmd_invokevirtual();
uint16_t JVM_cmd_invokespecial();


uint16_t JVM_return(uint8_t type);

uint16_t JVM_cmd_ireturn();
uint16_t JVM_cmd_lreturn();
uint16_t JVM_cmd_freturn();
uint16_t JVM_cmd_dreturn();
uint16_t JVM_cmd_areturn();

uint16_t JVM_cmd_return();


uint16_t JVM_invokeMethod(JVM_CP_Method_t 	* myMethodInfo,JVM_Method_t 	* myMethod);
